import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BsDatepickerConfig, BsDaterangepickerConfig, BsLocaleService, ModalModule, TabsModule, TooltipModule, PopoverModule, BsDropdownModule, BsDatepickerModule } from 'ngx-bootstrap';
import { NgxBootstrapDatePickerConfigService } from 'assets/ngx-bootstrap/ngx-bootstrap-datepicker-config.service';
import { TableModule } from 'primeng/components/table/table';
import {MultiSelectModule, InputTextModule,   AutoCompleteModule, EditorModule, FileUploadModule as PrimeNgFileUploadModule,
   InputMaskModule, PaginatorModule, FileUploadModule, TreeModule, DragDropModule, DropdownModule,
    ContextMenuModule, CalendarModule, StepsModule } from 'primeng/primeng';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { UtilsModule } from '@shared/utils/utils.module';
import { AppCommonModule } from '@app/shared/common/app-common.module';
import { NgxChartsModule } from '@swimlane/ngx-charts';
import { CountoModule } from 'angular2-counto';
import { TextMaskModule } from 'angular2-text-mask';
import { ImageCropperModule } from 'ngx-image-cropper';
import { TreeTableModule } from 'primeng/treetable';
import { TechfileComponent } from './techfile/techfile.component';
import { TechFileRoutingModule } from './techfile-routing.module';
import { LocationComponent } from './location/location.component';
import { CreateOrEditLocationModalComponent } from './location/create-or-edit-location-modal.component';
import { PrintLocationLabelComponent } from './location/print-location-label.component';
import { ReceiveTechfileModalComponent } from './techfile/receive-techfile-modal.component';
import { EssenceNg2PrintModule } from 'essence-ng2-print';
import { QRCodeModule } from 'angular2-qrcode';
import {DialogModule} from 'primeng/dialog';
import { ButtonModule } from 'primeng/button';
import { BorrowtechfileComponent } from './borrowtechfile/borrowtechfile.component';  
import { PutReceiveTechfileModalComponent } from './techfile/putreceive-techfile-modal.component'; 
import { CirculationfileComponent } from './circulationfile/circulationfile.component';
@NgModule({
  imports: [
    TreeTableModule,
    FormsModule,
    ReactiveFormsModule,
    CommonModule,
    FileUploadModule,
    DropdownModule,
    ModalModule.forRoot(),
    TabsModule.forRoot(),
    TooltipModule.forRoot(),
    PopoverModule.forRoot(),
    BsDropdownModule.forRoot(),
    BsDatepickerModule.forRoot(),
    UtilsModule,
    AppCommonModule,
    TableModule,
    TreeModule,
    DragDropModule,
    ContextMenuModule,
    PaginatorModule,
    PrimeNgFileUploadModule,
    AutoCompleteModule,
    EditorModule,
    InputMaskModule, 
    NgxChartsModule,
    CountoModule,
    TextMaskModule,
    ImageCropperModule,
    CalendarModule,
    MultiSelectModule,
    InputTextModule,
    TechFileRoutingModule,
    EssenceNg2PrintModule,
    QRCodeModule,
    StepsModule,
    DialogModule,
    ButtonModule, 
  ],
  declarations: [
    TechfileComponent,
    LocationComponent,
    CreateOrEditLocationModalComponent,
    PrintLocationLabelComponent,
    ReceiveTechfileModalComponent,
    PutReceiveTechfileModalComponent,
    BorrowtechfileComponent,
    CirculationfileComponent
  ],
  providers: [
    { provide: BsDatepickerConfig, useFactory: NgxBootstrapDatePickerConfigService.getDatepickerConfig },
    { provide: BsDaterangepickerConfig, useFactory: NgxBootstrapDatePickerConfigService.getDaterangepickerConfig },
    { provide: BsLocaleService, useFactory: NgxBootstrapDatePickerConfigService.getDatepickerLocale }
  ]
})
export class TechFileModule { } 
